import datetime
import os.path
import sys

from selenium import webdriver
from selenium.webdriver.ie.service import Service
from webdriver_manager.microsoft import EdgeChromiumDriverManager


#创建一个浏览器驱动对象
class Driver:
    driver = ""
    def __init__(self):
        options = webdriver.EdgeOptions()
        self.driver = webdriver.ChromiumEdge(service=Service(EdgeChromiumDriverManager.install()),options=options)
        self.driver.implicitly_wait(2) #隐式等待2秒 ，隐式等待是整个查找的生命周期
    def getScreeShot(self):
        # 创建当天的文件夹名称，以当天的年月日来命名
        #../images/2025-3-12
        dirname = datetime.datetime.now().strftime("%Y-%m-%d") #格式化一下
        #创建文件夹之前先判断一下，该文件夹存不存在
        if not os.path.exists("../images/" + dirname):
            os.mkidr("../images/"+ dirname) #如果不存在就创建文件夹
        #创建图片的名称 #../images/2025-3-12-130312.png
        # filename = datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"

        #拼接上调用的方法名字
        #创建图片的名称 #../images/LoginSucTets-2025-3-12-130312.png
        #创建图片的名称 #../images/LoginfailTets-2025-3-12-130312.png
        filename = sys._getframe().f_back().f_code.co_name+ "-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"
        #截图保存 上一级路径   + 文件夹名称 / + 创建的图片名称
        self.driver.save_screenshot("../images/"+dirname+"/"+filename)

BlogDriver = Driver() #使用Driver这个类创建一个类对象，其他测试文件想要调用到Driver里面的driver成员都需要通过BlogDriver对象去调用